<?php
defined('SYSPATH') OR die('No Direct Script Access');
session_name('curriculo');
@session_start();
//@session_unregister ('idioma');
//@session_unregister ('comunicacao');
include "application/classes/validator/ValidadorDeFormularioDeIdioma.php";
include "application/classes/model/Idioma.php";
include "application/classes/model/Comunicacao.php";
include "application/classes/visualizacao/FormularioDeIdioma.php";

Class Controller_GerenciadorDeIdioma extends Controller_TemplatePadrao
{

	public $errors = array();
	public $camposDoFormulario;
	public $sheets = array('reset' => 'screen', 'main' => 'screen');
	public $formularioDeIdioma;

	function action_index(){
		$_SESSION['pagina_corrente'] = "idioma";
		if(isset($_SESSION['idioma']) || isset($_SESSION['comunicacao'])){
			$listaDeIdiomas = unserialize($_SESSION['idioma']);
			$listaDeComunicacoes = unserialize($_SESSION['comunicacao']);
			$this->formularioDeIdioma = new FormularioDeIdioma($listaDeIdiomas, $listaDeComunicacoes);
			$this->formularioDeIdioma->carregarDadosDoFormulario();
		}
		else{
			$this->formularioDeIdioma = new FormularioDeIdioma();
		}
		$this->carregarFormulario();
	}

	public function carregarFormulario(){
		$ko3_inner               = array();
		$ko3                     = array();
		$this->template->title   = 'Psicopuc WWW Ver. 3.0';
		View::set_global('x', 'Esta e uma variavel global');
		$ko3_inner['content']    = 'Dados(Exemplo)';
		$ko3['content']          = 'Dados2(Exemplo)';
		$this->template->header  = View::factory('blocks/pagina_header', $ko3_inner)
								  ->render();
		$this->template->menu    = View::factory('blocks/menu_formulario')
	    						  ->render();
	    $this->template->footer  = View::factory('blocks/pagina_footer')
	                              ->render();						  
		$this->template->content = View::factory('Formularios/FormularioDeIdioma', $ko3)
		->bind('errors', $this->errors)
		->bind('camposDoFormulario', $this->camposDoFormulario)
		->bind('formularioDeIdioma', $this->formularioDeIdioma);

	}


	public function action_validarForm(){

		$validator = new ValidadorDeFormularioDeIdioma();
		$validator->verificarCamposValidos();
		$this->formularioDeIdioma = new FormularioDeIdioma();
		$acao = $_POST['form_button'];


		if($acao == "Proximo"){
			if(!$validator->isFormularioValido()){
				$this->errors = $validator->getErros();
				$this->camposDoFormulario = $validator->getCamposDoFormulario();
				$this->formularioDeIdioma->recarregarDadosDoFormulario();
				$this->carregarFormulario();
			}
			else{
				$idIdiomaPortugues = $_POST['IdIdiomaPortugues'];
				$listaDeIdiomas = array();
				$listaComunicacoes = array();
				$nomeDoIdioma = "Português";
				$le = $_POST['portuguesLe'];
				$escreve = $_POST['portuguesEscreve'];
				$fala = $_POST['portuguesFala'];
				$entende = $_POST['portuguesEntende'];
				$idioma = new Idioma($nomeDoIdioma, $le, $escreve, $fala, $entende);
				$idioma->setIdIdioma($idIdiomaPortugues);
				$listaDeIdiomas[] = serialize($idioma);

			// verificando checkbox ingles
			if(isset($_POST['ingles'])){
				$idIdiomaIngles = $_POST['IdIdiomaIngles'];
				$nomeDoIdioma = "Inglês";
				$le = $_POST['inglesLe'];
				$escreve = $_POST['inglesEscreve'];
				$fala = $_POST['inglesFala'];
				$entende = $_POST['inglesEntende'];
				$idioma = new Idioma($nomeDoIdioma, $le, $escreve, $fala, $entende);
				$idioma->setIdIdioma($idIdiomaIngles);
				$listaDeIdiomas[] = serialize($idioma);
			}
				

			// verificando checkbox espanhol
			if(isset($_POST['espanhol'])){
				$idIdiomaEspanhol = $_POST['IdIdiomaEspanhol'];
				$nomeDoIdioma = "Espanhol";
				$le = $_POST['espanholLe'];
				$escreve = $_POST['espanholEscreve'];
				$fala = $_POST['espanholFala'];
				$entende = $_POST['espanholEntende'];
				$idioma = new Idioma($nomeDoIdioma, $le, $escreve, $fala, $entende);
				$idioma->setIdIdioma($idIdiomaEspanhol);
				$listaDeIdiomas[] = serialize($idioma);

			}
				
				
				
			// verificando checkbox outros idiomas
			if(isset($_POST['outrosIdiomas'])){
				$idIdiomaAdicional = $_POST['IdIdiomaAdicional'];
				$nomeDoIdioma = $_POST['outrosIdiomasNome'];
				$le = $_POST['outrosLe'];
				$escreve = $_POST['outrosEscreve'];
				$fala = $_POST['outrosFala'];
				$entende = $_POST['outrosEntende'];
				$idioma = new Idioma($nomeDoIdioma, $le, $escreve, $fala, $entende);
				$idioma->setIdIdioma($idIdiomaAdicional);
				$listaDeIdiomas[] = serialize($idioma);
			}
					
				// verificando checkbox braile
				if(isset($_POST['braile'])){
					//$idComunicacaoBraile = $_POST['IdComunicacaoBraile'];
					$meioDeComunicacao = $_POST['braile'];
					$comunicacao = new Comunicacao($meioDeComunicacao);
					//$comunicacao->setIdComunicacao($idComunicacaoBraile);
					$listaComunicacoes[] = serialize($comunicacao);
				}
					
				// verificando checkbox libras
				if(isset($_POST['libras'])){
					//$idComunicacaoLibras = $_POST['IdComunicacaoLibras'];
					$meioDeComunicacao = "Libras";
					$comunicacao = new Comunicacao($meioDeComunicacao);
					//$comunicacao->setIdComunicacao($idComunicacaoLibras);
					$listaComunicacoes[] = serialize($comunicacao);
				}
					
				// verificando checkbox outra comunicacao
				if(isset($_POST['outraComunicacaoCheck'])){
					//$idComunicacaoAdicional = $_POST['IdComunicacaoAdicional'];
					$meioDeComunicacao = $_POST['outraComunicacaoNome'];
					$comunicacao = new Comunicacao($meioDeComunicacao);
					//$comunicacao->setIdComunicacao($idComunicacaoAdicional);
					$listaComunicacoes[] = serialize($comunicacao);
				}
					
				//$bd->insertIdioma($listaDeIdiomas);
				$_SESSION['idioma'] = serialize($listaDeIdiomas);
				$_SESSION['comunicacao'] = serialize($listaComunicacoes);
				
				//Elemento de visualização que junto ao $_SESSION['pagina_corrente'] define se a página
				//já foi validade e assim aparecerá no menu topo para seleção 		
				$_SESSION['comunicacao_validado'] = true;
				$_SESSION['idioma_validado'] = true;
				echo "<meta http-equiv=Refresh content=0;url=".url::site()."GerenciadorDeInformatica>";
			}
		}
		else if($acao == "Voltar"){
			$listaDeIdiomas = array();
			$listaComunicacoes = array();
			$idIdiomaPortugues = $_POST['IdIdiomaPortugues'];
			$nomeDoIdioma = "Português";
			$le = $_POST['portuguesLe'];
			$escreve = $_POST['portuguesEscreve'];
			$fala = $_POST['portuguesFala'];
			$entende = $_POST['portuguesEntende'];
			$idioma = new Idioma($nomeDoIdioma, $le, $escreve, $fala, $entende);
			$idioma->setIdIdioma($idIdiomaPortugues);
			$listaDeIdiomas[] = serialize($idioma);

			// verificando checkbox ingles
			if(isset($_POST['ingles'])){
				$idIdiomaIngles = $_POST['IdIdiomaIngles'];
				$nomeDoIdioma = "Inglês";
				$le = $_POST['inglesLe'];
				$escreve = $_POST['inglesEscreve'];
				$fala = $_POST['inglesFala'];
				$entende = $_POST['inglesEntende'];
				$idioma = new Idioma($nomeDoIdioma, $le, $escreve, $fala, $entende);
				$idioma->setIdIdioma($idIdiomaIngles);
				$listaDeIdiomas[] = serialize($idioma);
			}
				

			// verificando checkbox espanhol
			if(isset($_POST['espanhol'])){
				$idIdiomaEspanhol = $_POST['IdIdiomaEspanhol'];
				$nomeDoIdioma = "Espanhol";
				$le = $_POST['espanholLe'];
				$escreve = $_POST['espanholEscreve'];
				$fala = $_POST['espanholFala'];
				$entende = $_POST['espanholEntende'];
				$idioma = new Idioma($nomeDoIdioma, $le, $escreve, $fala, $entende);
				$idioma->setIdIdioma($idIdiomaEspanhol);
				$listaDeIdiomas[] = serialize($idioma);

			}
				
				
				
			// verificando checkbox outros idiomas
			if(isset($_POST['outrosIdiomas'])){
				$idIdiomaAdicional = $_POST['IdIdiomaAdicional'];
				$nomeDoIdioma = $_POST['outrosIdiomasNome'];
				$le = $_POST['outrosLe'];
				$escreve = $_POST['outrosEscreve'];
				$fala = $_POST['outrosFala'];
				$entende = $_POST['outrosEntende'];
				$idioma = new Idioma($nomeDoIdioma, $le, $escreve, $fala, $entende);
				$idioma->setIdIdioma($idIdiomaAdicional);
				$listaDeIdiomas[] = serialize($idioma);
			}

			// verificando checkbox braile
			if(isset($_POST['braile'])){
				$meioDeComunicacao = $_POST['braile'];
				$comunicacao = new Comunicacao($meioDeComunicacao);
				$listaComunicacoes[] = serialize($comunicacao);
				//$idioma = new Idioma($nomeDoIdioma, null, null, null, null);
				//$listaDeIdiomas[] = serialize($idioma);
			}

			// verificando checkbox libras
			if(isset($_POST['libras'])){
				$meioDeComunicacao = $_POST['libras'];
				$comunicacao = new Comunicacao($meioDeComunicacao);
				$listaComunicacoes[] = serialize($comunicacao);
				//$idioma = new Idioma($nomeDoIdioma, null, null, null, null);
				//$listaDeIdiomas[] = serialize($idioma);
			}

			// verificando checkbox outra comunicacao
			if(isset($_POST['outraComunicacaoCheck'])){
				$meioDeComunicacao = $_POST['outraComunicacaoNome'];
				$comunicacao = new Comunicacao($meioDeComunicacao);
				$listaComunicacoes[] = serialize($comunicacao);
				//$idioma = new Idioma($nomeDoIdioma, null, null, null, null);
				//$listaDeIdiomas[] = serialize($idioma);
			}

			//$bd->insertIdioma($listaDeIdiomas);
			$_SESSION['idioma'] = serialize($listaDeIdiomas);
			$_SESSION['comunicacao'] = serialize($listaComunicacoes);
			echo "<meta http-equiv=Refresh content=0;url=".url::site()."GerenciadorDeEscolaridade>";
		}
	}
}

?>